// CODE128AUTO.js - 已改为 ES Module 格式，兼容 UniApp

// 引入 CODE128 和 autoSelect 模块
import CODE128 from './CODE128.js';
import autoSelect from './auto.js'; // 注意：你之前给的是 autoSelect.js，这里假设文件名为 auto.js

// CODE128AUTO 类：自动选择最优 CODE128 编码模式（A/B/C）
class CODE128AUTO extends CODE128 {
  constructor(data, options) {
    super(data, options);

    // 验证字符范围：支持 ASCII 0-127 和 CODE128 控制字符 200-211
    if (/^[\x00-\x7F\xC8-\xD3]+$/.test(data)) {
      // 如果字符合法，使用 autoSelect 自动选择编码集
      this.data = autoSelect(data);
    }
    // 否则直接使用原始数据（由父类处理错误）
  }
}

// 默认导出
export default CODE128AUTO;